草庐IT

C++ 循环

全部标签

c# - 嵌套的 Parallel.For() 循环速度和性能

我有一个嵌套的for循环。我用Parallel.For()替换了第一个For,计算速度提高了。我的问题是关于用Parallel.For()替换第二个for(内部)。会提高速度吗?或者没有区别?还是会变慢?编辑:由于内核不是无限的(通常有2到8个内核),因此内部循环是并行运行的。因此,如果我用Parallel.For()更改内部for,它会再次并行运行。但我不确定它如何改变性能和速度。 最佳答案 来自“太细粒度,太粗粒度”小节,“反模式”部分在"Patternsofparallelprogramming"通过.NETparallelc

c# - ADFS 身份验证期间的间歇性重定向循环

我正在使用Owin配置我的ASP.NETMVC5(.NET4.5、IIS7/8)应用程序以针对第三方ADFS设置进行身份验证:app.SetDefaultSignInAsAuthenticationType(WsFederationAuthenticationDefaults.AuthenticationType);app.UseCookieAuthentication(newCookieAuthenticationOptions{AuthenticationType=WsFederationAuthenticationDefaults.AuthenticationType});app

C#:N For 循环

我如何将此代码转换为具有n个嵌套的for循环:intnum=4;for(inti=0;i所以如果num是2那么就只有2个for循环;我和j。这不是家庭作业,我希望能反复完成。每个Console.WriteLine()都需要像一个元素一样存储在一起。这个程序的输出创建了n维超空间enzyme指数。 最佳答案 好的,您想要一个非递归解决方案,它在num中参数化并且具有恒定数量的嵌套循环,是吗?这是执行此操作的方法的草图。填写详细信息留作练习。首先,我假设您有一个不可变类型“Vector”,它可以是0元组、1元组、2元组、3元组……n元组

c# - C# 中两个项目中的循环依赖

我在名为ProjectA(ConsoleApplication)和ProjectB(ClassLibrary)的解决方案中有两个项目。ProjectA引用了ProjectB。一般来说,ProjectA调用ProjectB中的一个方法来做一些事情并将结果返回给ProjectA。然而,有时我需要ProjectB向ProjectA发送一些“附加”信息(更具体地说是调用ProjectA中的Console.WriteLine()方法)。为此,我需要在ProjectB中引用ProjectA,但是当我尝试这样做时,出现以下错误:无法添加对ProjectA的引用。添加此项目作为引用会导致循环依赖。我了

c# - 嵌套的 Parallel.ForEach 循环在同一个列表中?

我需要并行化一个对列表中的元素进行详尽的成对比较的方法。串行实现很简单:foreach(varelement1inlist)foreach(varelement2inlist)foo(element1,element2);在这种情况下,foo不会改变element1或element2的状态。我知道简单地执行嵌套的Parallel.ForEach语句是不安全的:Parallel.ForEach(list,delegate(Aelement1){Parallel.ForEach(list,delegate(Aelement2){foo(element1,element2);});});使用

c# - 数据表+使用循环在c#中删除一行

我有一个数据表,我想删除一行这是我的代码,它抛出一个异常foreach(DataRowrowindt1.Rows){if((row["Name"]=="SelectaLookbook")||(row["Name"]=="CreateanewLookbook")){row.Delete();dt1.AcceptChanges();}}我什至在if语句之外尝试过,在forloop之外仍然抛出错误,不知道如何完成这个任务,这是我得到的异常:Collectionwasmodified;enumerationoperationmightnotexecute.最终工作代码:foreach(Data

c# - 用 linq 替换 foreach 循环

我尝试替换代码foreach(vardiscoveryinmpwrapper.parser.Discoveries){solution.AddFile("Discoveries",discovery.DisplayStringName+".mpx",discovery);}使用以下linq表达式mpwrapper.parser.Discoveries.Select(s=>solution.AddFile("Discoveries",s.DisplayStringName+".mpx",s));但是报错了Thetypeargumentsformethod'System.Linq.Enum

c# - 通过编写 C dll 来加速 C# 中的数学代码?

我有一个非常大的嵌套for循环,其中对float执行一些乘法和加法。for(inti=0;i这个循环占用了我大部分的处理时间,是一个瓶颈。如果我用C重写这个循环并从C#连接到它,我是否会看到任何速度提升?编辑:我更新了代码以显示s和c是如何生成的。此外,内部循环实际上是从0到i,尽管它可能对问题没有太大影响EDIT2:我在VC++中实现了该算法,并通过dll将其与C#链接,并且在启用所有优化后,速度比C#提高了28%。启用SSE2的论点特别有效。使用MinGW和gcc4.4编译只提供了15%的速度提升。刚刚试用了英特尔编译器,发现这段代码的速度提高了49%。

c# - For 循环和 DateTime 问题

我正在尝试像这样在DateTime上使用for:for(DateTimed=_BookedCheckIn;d但问题是d没有增加。有谁知道问题出在哪里? 最佳答案 你需要使用:for(DateTimed=_BookedCheckIn;d当您调用d.AddDays时,它会返回一个新DateTime,而不是更改您已经创建的那个。 关于c#-For循环和DateTime问题,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

c# - 将循环转换为任务

我有以下同步代码:foreach(varstepinresult){step.Run();}我试图将其转换为任务,但未能成功。我尝试像这样使用Task.WhenAll转换它(并且我确实将异步附加到方法签名):vartasks=newList();foreach(varstepinresult){tasks.Add(newTask(()=>step.Run()));}awaitTask.WhenAll(tasks);这会立即返回并且不会执行Run()方法。然后我尝试将其转换为以下代码:vartasks=newList();foreach(varstepinresult){tasks.Ad